package cn.smile.business.wechat;

import cn.smile.bean.dto.wechat.WechatDevelopConfigDTO;
import cn.smile.bean.entity.wechat.WechatDevelopConfig;
import cn.smile.bean.form.wechat.develop.SaveDevConfigForm;
import cn.smile.commons.domain.IBaseService;

import java.util.List;

public interface IWeChatDevConService extends IBaseService<WechatDevelopConfig> {

    /**
     * 保存微信公众号开发者配置
     *
     * @param form 保存参数
     * @return 保存结果
     */
    Boolean saveConfig(SaveDevConfigForm form);

    /**
     * 查询用户微信公众号配置
     *
     * @param userId 用户ID
     * @return 查询结果
     */
    WechatDevelopConfigDTO getConfigByUser(String userId);

    /**
     * 查询我的公众号配置状态
     *
     * @return 查询结果(true - 启用, false - 停用[或不存在])
     */
    Boolean getMyConfigStatus();

    /**
     * 根据AppID查询配置信息
     *
     * @param appId 微信公众号APPID
     * @return 配置对象
     */
    WechatDevelopConfigDTO getConfigByAppId(String appId);

    /**
     * 查询全部启用配置用户
     *
     * @return 查询结果集合
     */
    List<WechatDevelopConfig> getALlEnableConf();
}
